package com.tomshushu.doc.freedoc.core.model.result;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class AuthResult<T> {
    private Integer code;  // 状态码（如 200 成功，401 未登录，403 无权限）
    private String msg;    // 提示信息
    private T data;        // 业务数据（可选）

    // 静态工厂方法（方便快速构造结果）
    public static <T> AuthResult<T> success(T data) {
        return new AuthResult<>(200, "操作成功", data);
    }

    public static <T> AuthResult<T> failure(Integer code, String msg) {
        return new AuthResult<>(code, msg, null);
    }
}
